package com.rpay.dao.userWallet;

import com.rpay.model.userWallet.UserWalletDO;
import com.rpay.model.userWallet.UserWalletQueryDO;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class UserWalletDao {
    @Autowired
    @Qualifier("readSqlSession")
    private SqlSessionTemplate readSqlSession;

    @Autowired
    @Qualifier("writeSqlSession")
    private SqlSessionTemplate writeSqlSession;

    public List<UserWalletDO> list(UserWalletQueryDO userWalletQueryDO) {
        return readSqlSession.selectList("rpay.userWallet.list", userWalletQueryDO);
    }

    public int post(UserWalletDO userWalletDO) {
        return writeSqlSession.insert("rpay.userWallet.post", userWalletDO);
    }

    public int delete(UserWalletDO userWalletDO) {
        return writeSqlSession.update("rpay.userWallet.delete", userWalletDO);
    }

    public int patch(UserWalletDO userWalletDO) {
        return writeSqlSession.update("rpay.userWallet.patch", userWalletDO);
    }

    public UserWalletDO findById(int userWalletId) {
        return readSqlSession.selectOne("rpay.userWallet.findById", userWalletId);
    }
}
